package top.lwaiting.java.ai.langchain4j.assistant;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.spring.AiService;
import dev.langchain4j.service.spring.AiServiceWiringMode;

/**
 * 分离聊天助手
 * 隔离聊天记忆
 * 每个助手都有自己的记忆
 * 为每个用户的新聊天或者不同的用户区分聊天记忆
 *
 * 创建记忆隔离对话智能体
 * @author Yang
 * @date 2025/9/8
 * @version 1.0
 */
@AiService(
        wiringMode = AiServiceWiringMode.EXPLICIT,
        chatModel = "qwenChatModel",
        chatMemoryProvider = "chatMemoryProvider"
)
public interface SeparateChatAssistant {

    /**
     * 分离聊天记录
     * @param memoryId 记忆id
     * @param userMessage 用户消息
     * @return 回复
     */
    String chat(@MemoryId int memoryId, @UserMessage String userMessage);
}
